<?php
/**
 * 
 * EPermesso.php
 * @author noskill
 * @package Entity
 */
/**
 * EPermesso
 * @author Igor Di Paolo <igor.di.paolo@gmail.com>
 * @package Entity
 *
 */
class EPermesso extends EEntity {
	/**
	 * livelloid
	 * @var integer $livelloid
	 */
	private $livelloid;
	/**
	 * Controller
	 * @var string $controller
	 */
	private $controller;
	/**
	 * Azione
	 * @var string $azione
	 */
	private $azione;
	/**
	 * Costruttore
	 */
	function __construct(){
		parent::__construct();
	}
	/**
	 * setLivello
	 * 
	 * Livello:
	 * <ul>
	 * <li>UTENTE_NON_REGISTRATO</li>
	 * <li>UTENTE_REGISTRATO</li>
	 * <li>AMMINISTRATORE</li>
	 * </ul>
	 * 
	 * @param integer id
	 * @throws ExceptionDati
	 */
	public function setLivello($id) {
		if(!is_numeric($id)){
			throw new ExceptionDati('Dato id non valido!');
		}
		$this->livelloid = $id;
	}
	/**
	 * setController
	 * @param string $controller
	 */
	public function setController($controller) {
		$this->controller = $controller;
	}
	/**
	 * setAzione
	 * @param string $azione
	 */
	public function setAzione($azione) {
		$this->azione = $azione;
	}
	/**
	 * getLivello
	 * @return integer $livello
	 */
	public function getLivello() {
		return $this->livelloid;
	}
	/**
	 * getController
	 * @return string $controller
	 */
	public function getController() {
		return $this->controller;
	}
	/**
	 * getAzione
	 * @return string $azione
	 */
	public function getAzione() {
		return $this->azione;
	}
	/**
	 * isEqual
	 * @param EPermesso $e
	 * @return bool
	 */
	public function isEqual(EPermesso $e) {
		
		if(strcmp($this->getAzione(),$e->getAzione()) != 0) {
			return false;
		}
		
		if(strcmp($this->getController(),$e->getController()) != 0){
			return false;
		}
		
		if(strcmp($this->getLivello(),$e->getLivello()) != 0) {
			return false;
		}
		
		return true;
	}
	/**
	 * toArray
	 * @return array $result
	 */
	public function toArray() {
		$result = array();
		foreach($this as $key => $value) {
			$result[$key] = $value;
		}
		return $result;
	}
		
}
